@Haggard
2年前 提问
1个回答

造成文件上传漏洞的原因有哪些

上官雨宝
2年前

文件上传漏洞的五个成因:

  • 服务器配置不当

    在不需要上传文件的情况下可导致任意文件上传,参考HTTP请求方法PUT。

  • 本地文件上传被绕过

    只在客户端浏览器上做了文件限制而没有在远程的服务器上做限制,只需要修改上传时发送的数据包就可以轻松绕过上传限制 。

    a.抓包看,禁用JS插件(这个插件用作文件上传本地验证),现上传一个恶意文件,如果是本地限制,执行过滤的就是浏览器的js插件,禁用后就能上传恶意文件

    b.如果是服务器限制,先把恶意文件传给服务器,然后服务器再返回过滤结果,这个时候单单禁用本地的js插件没什么用

  • 过滤不严或被绕过

    有些网站使用上传黑名单过滤掉一些可执行文件脚本的后缀,但是黑名单不全或者被绕过,也可导致恶意文件上传。如果使用白名单,仅允许名单内所包含的文件格式上传会更加安全。

  • 文件解析漏洞导致文件执行

    解析漏洞是指web服务器因对http请求处理不当导致将非可执行的脚本,文件等当做可执行的脚本,文件等执行。该漏洞一般配合服务器的文件上传功能使用,以获取服务器的权限。

  • 路径截断

    上传的文件中使用一些特殊的符号,文件被上传到服务器时路径被这些符号截断,从而控制文件上传的路径。